package com.rc.saas.mini.hlhtcec2.printer;

import com.rc.saas.mini.model.hlhtsk.HlhtskBizOperator;
import com.rc.saas.mini.model.hlhtsk.HlhtskBizTenant;
import com.rc.saas.mini.vo.hlhtcec2.TokenResult;
import com.rc.saas.mini.vo.printer.QueryPrintReq;
import com.rc.saas.mini.vo.printer.QueryPrintResult;
import com.rc.saas.mini.vo.printer.StartPrintReq;
import com.rc.saas.mini.vo.printer.StartPrintResult;

/**
 * 打印接口，方法名称固定，但入参和返回值会根据运营商变化
 * @author wangzhengwei
 * @create 2021/4/23
 */
public interface HlhtPrintStrategy {
    /**
     * 此接口用于客户归属运营商平向设备归属运营商平台查询小票机信息列表
     */
    //R1 query_print(E1 request, TokenResult tokenResult, HlhtskBizOperator bizOperator, HlhtskBizTenant bizTenant);
    QueryPrintResult query_print(QueryPrintReq request, TokenResult tokenResult, HlhtskBizOperator bizOperator, HlhtskBizTenant bizTenant);

    /**
     * 此接口用于客户归属运营商平向设备归属运营商平台请求打印订单信息
     */
    //R2 query_start_print(E2 request, TokenResult tokenResult, HlhtskBizOperator bizOperator, HlhtskBizTenant bizTenant);
    StartPrintResult query_start_print(StartPrintReq request, TokenResult tokenResult, HlhtskBizOperator bizOperator, HlhtskBizTenant bizTenant);

    String getHlhtOperatorId();
}
